Software processes running within computing devices typically employ some form of logging, such as for debugging or tracing. Most of these methods are contained within a given process context and often activated within module boundaries. Being able to observe an execution flow across processes within a single device or across multiple devices can be difficult, particularly when trying to coordinate consistency across multiple software components. For example, tracing output among disparate development teams can be a burdensome process, and hence it becomes hard to correlate an execution flow even within a software process, let alone across multiple processes and systems. The problem is compounded when debugging at scale or in the field because of a large amount of output that is generated with module debugs.